package homework;

import java.io.*;

import static copy.CopyTest.copyFile;

public class Test04 {
    public static void main(String[] args) {
        //4.复制文件夹d:/huayujava下面所有文件和子文件夹内容到d:/huayujava2。
        //提示：涉及单个文件复制、目录的创建、递归的使用
        File src = new File("day10-code/src/copy");
        File dest = new File("day10-code/src/homework/");
        try {
            copyJava(src, dest);
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

    public static void copyJava(File src, File dest) throws IOException {
        if (!src.exists()){
            System.out.println("源目录不存在");
            return;
        }
        if (!dest.isFile()){
            System.out.println("目标目录不是文件");
        }
        if (!dest.exists()){
            dest.mkdirs();
        }
        File destFile = new File(dest, src.getName());//拼凑目标文件对象
        if (!destFile.exists()){//判断目标文件对象是否存在
            destFile.mkdirs();
        }
        File[] files = src.listFiles();//获取源目录下的所有文件
        for (File file : files) {
            if (file.isFile()){
                copyFile(file, destFile);
                File file1 = new File(file, destFile.getName());//拼凑目标文件对象
            }
            else {
                File destFile1 = new File(destFile, file.getName());//拼凑目标文件对象
                if (!destFile1.exists()){
                    destFile1.mkdirs();
                }
                copyJava(file, new File(dest, file.getName()));
            }
        }
    }
}
